import axios from 'axios'
import { Toast } from 'vant'

// 设置axios为form-data
axios.defaults.headers.post['Content-Type'] =
  'application/x-www-form-urlencoded'
axios.defaults.transformRequest = [
  function (data) {
    let ret = ''
    for (const it in data) {
      ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
    }
    return ret
  }
]

const http = axios.create({
  timeout: 6000000
})

// 添加请求拦截器
http.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  config.baseURL = localStorage.getItem('baseURL')
  config.headers.token = localStorage.getItem('token')
  Toast.loading({
    duration: 0, // 持续展示 toast
    forbidClick: true
    // message: '',
  })
  return config
}, function (error) {
  // 对请求错误做些什么
  Toast.clear()
  return Promise.reject(error)
})

// 添加响应拦截器
http.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  Toast.clear()
  return response
}, function (error) {
  // 对响应错误做点什么
  Toast.clear()
  return Promise.reject(error)
})

export default http
